perm filename CHDIFD[MF,ALS] blob sn#793927 filedate 1985-05-21 generic text, type T, neo UTF8
  1) DVIESP.CH[MF,ALS] and 2) DVIESP.CH[TEX,SYS]	5-21-85 13:39	pages 1,1

**** File 1) DVIESP.CH[MF,ALS]/1P/1L
1)	COMMENT ⊗   VALID 00011 PAGES
1)	C REC  PAGE   DESCRIPTION
**** File 2) DVIESP.CH[TEX,SYS]/1P/1L
2)	COMMENT ⊗   VALID 00012 PAGES
2)	C REC  PAGE   DESCRIPTION
***************


**** File 1) DVIESP.CH[MF,ALS]/1P/11L
1)	C00020 00009	@x user and file id
1)	C00024 00010	@x esp
1)	C00025 00011	@x file_name type
1)	C00027 ENDMK
1)	C⊗;
**** File 2) DVIESP.CH[TEX,SYS]/1P/11L
2)	C00019 00009	@x Change to tfm file name conventions:
2)	C00023 00010	@x user and file id
2)	C00027 00011	@x esp
2)	C00028 00012	@x file_name type
2)	C00030 ENDMK
2)	C⊗;
***************


**** File 1) DVIESP.CH[MF,ALS]/5P/11L
1)	@y
**** File 2) DVIESP.CH[TEX,SYS]/5P/11L
2)	@#
2)	procedure open_tfm_file; {prepares to read packed bytes in |tfm_file|}
2)	begin reset(tfm_file,cur_tfm_name);
2)	end;
2)	@y
***************


**** File 1) DVIESP.CH[MF,ALS]/5P/74L
1)	@z
**** File 2) DVIESP.CH[TEX,SYS]/5P/78L
2)	@#
2)	procedure open_tfm_file; {prepares to read packed bytes in |tfm_file|}
2)	begin reset(tfm_file,cur_tfm_name,'/B:8/O/N:9');
2)	cur_gf_loc←0;
2)	end;
2)	@z
***************


  1) DVIESP.CH[MF,ALS] and 2) DVIESP.CH[TEX,SYS]	5-21-85 13:39	pages 5,5

**** File 1) DVIESP.CH[MF,ALS]/5P/87L
1)	while (imp_name[i]>'.') and (imp_name[i]≠'[') do
1)		incr(i); {skip to dot or bracket or space or null}
1)	j←i-1;
**** File 2) DVIESP.CH[TEX,SYS]/5P/96L
2)	while imp_name[i]>'@@' do i←i+1; {skip to dot or bracket or space}
2)	j←i-1;
***************


**** File 1) DVIESP.CH[MF,ALS]/7P/4L
1)	@y
**** File 2) DVIESP.CH[TEX,SYS]/7P/4L
2)	@d dflt_tfm_directory_name=='TeXfonts:' {change this to the correct name}
2)	@d dflt_tfm_directory_name_length=9 {change this to the correct length}
2)	@y
***************


**** File 1) DVIESP.CH[MF,ALS]/7P/7L
1)	@z
**** File 2) DVIESP.CH[TEX,SYS]/7P/9L
2)	@d dflt_tfm_directory_name=='[TEX,SYS]' {change this to the correct name}
2)	@d dflt_tfm_directory_name_length=9 {change this to the correct length}
2)	@z
***************


**** File 1) DVIESP.CH[MF,ALS]/8P/27L
1)	cur_name[r+1]←'.'; cur_name[r+2]←'G'; cur_name[r+3]←'F'; {|cur_name[r+4]←'M';|}
1)	@y
**** File 2) DVIESP.CH[TEX,SYS]/8P/27L
2)	cur_name[r+1]←'.'; cur_name[r+2]←'G'; cur_name[r+3]←'F';
2)	{|cur_name[r+4]←'M';|}
2)	@y
***************


**** File 1) DVIESP.CH[MF,ALS]/9P/1L
1)	@x user and file id
**** File 2) DVIESP.CH[TEX,SYS]/9P/1L
2)	@x Change to tfm file name conventions:
2)	@ Normally, we only need to reference the \.{GF} files.  On those
2)	occasions when no \.{GF} file is to be found we will want to obtain the
2)	glyph widths from a \.{TFM} file.
2)	The following module takes care of setting the external name of this
2)	\.{TFM} file.
2)	@<Move font name into the |cur_tfm_name| string@>=
  1) DVIESP.CH[MF,ALS] and 2) DVIESP.CH[TEX,SYS]	5-21-85 13:39	pages 9,9

2)	for k←1 to name_length do cur_tfm_name[k]←' ';
2)	if p=0 then
2)		begin for k←1 to dflt_tfm_directory_name_length do
2)			cur_tfm_name[k]←dflt_tfm_directory[k];
2)		r←dflt_tfm_directory_name_length;
2)		end
2)	else r←0;
2)	for k←font_name[cur_font] to font_name[cur_font+1]-1 do
2)		begin incr(r);
2)		if r+4>name_length then
2)			abort('DVIIMP capacity exceeded (max font name length=',
2)				name_length:1,')!');
2)	@.DVIIMP capacity exceeded...@>
2)		if (names[k]≥"a")∧(names[k]≤"z") then
2)				cur_tfm_name[k]←xchr[names[k]-@'40]
2)		else cur_tfm_name[r]←xchr[names[k]];
2)		end;
2)	cur_tfm_name[r+1]←'.'; cur_tfm_name[r+2]←'T';
2)	cur_tfm_name[r+3]←'F'; cur_tfm_name[r+4]←'M';
2)	@y
2)	@ Normally, we only need to reference the \.{GF} files.  On those
2)	occasions when no \.{GF} file is to be found we will want to obtain the
2)	glyph widths from a \.{TFM} file.
2)	The following takes care of {\mc SAIL} conventions.
2)	@<Move font name into the |cur_tfm_name| string@>=
2)	for k←1 to name_length do cur_tfm_name[k]←' ';
2)	r←0;
2)	for k←font_name[cur_font]+p to font_name[cur_font+1]-1 do
2)	    if (k≤font_name[cur_font]+p+2)∨(k≥font_name[cur_font+1]-3) then
2)		begin incr(r);
2)		if r+4>name_length then
2)			abort('DVItype capacity exceeded (max font name length=',
2)				name_length:1,')!');
2)	@.DVItype capacity exceeded...@>
2)		if (names[k]≥"a")∧(names[k]≤"z") then
2)				cur_tfm_name[r]←xchr[names[k]-@'40]
2)		else cur_tfm_name[r]←xchr[names[k]];
2)		end;
2)	cur_tfm_name[r+1]←'.'; cur_tfm_name[r+2]←'T';
2)	cur_tfm_name[r+3]←'F'; cur_tfm_name[r+4]←'M';
2)	r←r+4;
2)	if p=0 then for k←1 to dflt_tfm_directory_name_length do
2)		begin incr(r);
2)		if r>name_length then abort('Font name is too long!');
2)		cur_tfm_name[r]←dflt_tfm_directory[k];
2)		end
2)	else for k←font_name[cur_font] to font_name[cur_font]+p-1 do
2)		begin incr(r);
  1) DVIESP.CH[MF,ALS] and 2) DVIESP.CH[TEX,SYS]	5-21-85 13:39	pages 9,9

2)		if r>name_length then abort('Font name is too long!');
2)		if (names[k]≥"a")∧(names[k]≤"z") then
2)				cur_tfm_name[r]←xchr[names[k]-@'40]
2)		else cur_tfm_name[r]←xchr[names[k]];
2)		end
2)	@z
2)	@x user and file id
***************


**** File 1) DVIESP.CH[MF,ALS]/11P/17L
1)	@!dvi_n_len:1..f_name_size; {file names at {\sc SAIL} have at most 23 characters}
1)	@!ppn:record case integer of
**** File 2) DVIESP.CH[TEX,SYS]/12P/17L
2)	@!dvi_n_len:1..f_name_size;
2)		{file names at {\sc SAIL} have at most 23 characters}
2)	@!ppn:record case integer of
***************